﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.IO;
using System.Configuration;
using Common;
using DevExpress.Web.ASPxEditors;
using DevExpress.Web.ASPxGridView;
using Model;

public partial class AnularRemesaMinisterio : PageBase
{
    #region page load
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            cargardepartamentosTransbordo();
            cargarnumeroremesaanulacion();
        }
    }
    #endregion
    #region Anular Remesa
    private void Anular()
    {
        string strUsuario = "";
        string strClave = "";
        string strNit = "";


        strNit = "8600390049";

        if (Usuario.UsuId == 9)
        {
            strUsuario = "clara13@270";
            strClave = "cla1020736056";
        }
        else if (Usuario.UsuId == 15)
        {
            strUsuario = "paul91@270";
            strClave = "paul91541069";
        }

        try
        {
             string strCadena = "<?xml version='1.0' encoding='ISO-8859-1' ?><root><acceso><username>" + strUsuario + "</username><password>" + strClave + "</password></acceso><solicitud><tipo>1</tipo><procesoid>9</procesoid></solicitud><variables><NUMNITEMPRESATRANSPORTE>" + strNit + "</NUMNITEMPRESATRANSPORTE>";

            if (ddlTipoReversaRemesa.Value.ToString() == "A") 
            {
                
                strCadena = strCadena + "<CONSECUTIVOREMESA>" + ddlRemesaTerrestre.Value.ToString() + "</CONSECUTIVOREMESA>";
                strCadena = strCadena + "<MOTIVOANULACIONREMESA>" + ddlMotivoAnulacion.Value.ToString() + "</MOTIVOANULACIONREMESA>";
                strCadena = strCadena + "<MOTIVOREVERSAREMESA>" + ddlTipoReversaRemesa.Value.ToString() + "</MOTIVOREVERSAREMESA>";
                strCadena = strCadena + "<OBSERVACIONES>" + txtObservacionesanulacion.Text + "</OBSERVACIONES>";
                strCadena = strCadena + "</variables></root>";
            }
            else
            {
               
                strCadena = strCadena + "<CONSECUTIVOREMESA>" + ddlRemesaTerrestre.Value.ToString() + "</CONSECUTIVOREMESA>";
                strCadena = strCadena + "<MOTIVOANULACIONREMESA>" + ddlMotivoAnulacion.Value.ToString() + "</MOTIVOANULACIONREMESA>";
                strCadena = strCadena + "<MOTIVOREVERSAREMESA>" + ddlTipoReversaRemesa.Value.ToString() + "</MOTIVOREVERSAREMESA>";
                strCadena = strCadena + "<CODMUNICIPIOTRANSBORDO>" + ddlmunicipiotransbordo.Value.ToString() + "</CODMUNICIPIOTRANSBORDO>";
                strCadena = strCadena + "<MOTIVOTRANSBORDOREMESA>" + ddlMotivoTransbordo.Value.ToString() + "</MOTIVOTRANSBORDOREMESA>";
                strCadena = strCadena + "<OBSERVACIONES>" + txtObservacionesanulacion.Text + "</OBSERVACIONES>";
                strCadena = strCadena + "</variables></root>";
            }
            wsMintransporte.BPMServicesClient obj = new wsMintransporte.BPMServicesClient();
            string strSalida = obj.AtenderMensajeRNDC(strCadena);
            
            Utilidad.mostrarMensaje(Utilidad.TiposMensajes.Mensaje, strSalida, lblMensaje);
            msgBox1.alert("Se ha eliminado exitosamente la remesa, revisar el número de radicación en la parte superior");
        }
        catch (Exception objEx)
        {
            string algo = objEx.Message.ToString();
            
        }
    }
    #endregion
    #region cargarDepartamentosTransbordo
    private void cargardepartamentosTransbordo()
    {
        try
        {
            Model.DataClassesAutosolDataContext contexto = new Model.DataClassesAutosolDataContext(ConfigurationManager.AppSettings["Conn"]);
            var datos = from a in contexto.BAS_ZONAS_GEOGRAFICAs
                        where object.Equals(a.ZON_PADRE_ID, null)
                        select a;
            if (datos == null) return;
            ddldepartamentotransbordo.DataSource = datos;
            ddldepartamentotransbordo.TextField = "ZON_NOMBRE";
            ddldepartamentotransbordo.ValueField = "ZON_ID";
            ddldepartamentotransbordo.DataBind();

        }
        catch (Exception)
        {

            throw;
        }
    }
    #endregion
    #region cargarMunicipiosTransbordo
    protected void ddldepartamentotransbordo_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (ddldepartamentotransbordo.Value.ToString() == "") return;
        if (ddldepartamentotransbordo.Value.ToString() == "0")
        {
            ddlmunicipiotransbordo.Items.Clear();
            return;
        }
        Model.DataClassesAutosolDataContext contexto = new Model.DataClassesAutosolDataContext(ConfigurationManager.AppSettings["Conn"]);
        var datos = from a in contexto.BAS_ZONAS_GEOGRAFICAs
                    where object.Equals(a.ZON_PADRE_ID, ddldepartamentotransbordo.Value)
                    select a;
        if (datos == null) return;
        ddlmunicipiotransbordo.DataSource = datos;
        ddlmunicipiotransbordo.TextField = "zon_nombre";
        ddlmunicipiotransbordo.ValueField = "zon_id";
        ddlmunicipiotransbordo.DataBind();
    }
    #endregion
    #region Enviar
    protected void EnviarCumplidoRemesa_Click(object sender, EventArgs e)
    {
        Anular();
    }
    #endregion
    #region cargar numero remesas
    protected void cargarnumeroremesaanulacion()
    {
        string strUsuario = "";
        string strClave = "";
        

        if (Usuario.UsuId == 9)
        {
            strUsuario = "clara13@270";
            strClave = "cla1020736056";
        }
        else if (Usuario.UsuId == 15)
        {
            strUsuario = "paul91@270";
            strClave = "paul91541069";
        }

        try
        {
            string strCadena = "<?xml version='1.0' encoding='ISO-8859-1' ?><root><acceso><username" + strUsuario + "/username><password" + strClave + "/password></acceso><solicitud><tipo>3</tipo><procesoid>3</procesoid></solicitud><variables>CONSECUTIVOREMESA, REMREMITENTE, DESCRIPCIONCORTAPRODUCTO</variables><documento><NUMNITEMPRESATRANSPORTE>8600390049</NUMNITEMPRESATRANSPORTE><estado>'AC'</estado></documento></root>";
            wsMintransporte.BPMServicesClient obj = new wsMintransporte.BPMServicesClient();
            string strSalida = obj.AtenderMensajeRNDC(strCadena);

            DataSet ds = new DataSet();
            StringReader reader = new StringReader(strSalida);
            ds.ReadXml(reader);
            foreach (DataTable myTable in ds.Tables)
            {
                foreach (DataRow myRow in myTable.Rows)
                {
                    myRow["REMREMITENTE"] = myRow["CONSECUTIVOREMESA"] + " " + myRow["DESCRIPCIONCORTAPRODUCTO"] + " " + myRow["REMREMITENTE"];
                }
            }

         
            if (ds != null)
            {
                ddlRemesaTerrestre.DataSource = ds.Tables[0];
                ddlRemesaTerrestre.TextField = "REMREMITENTE";
                ddlRemesaTerrestre.ValueField = "CONSECUTIVOREMESA";
                ddlRemesaTerrestre.DataBind();
            }
        }

        catch (Exception ex)
        {

            msgBox1.alert(ex.Message.ToString());
        }
    }
    #endregion
    #region Buscar Remesas
    protected void BuscarRemesasAnulacion_Click(object sender, EventArgs e)
    {
        string strUsuario = "";
        string strClave = "";
        

        if (Usuario.UsuId == 9)
        {
            strUsuario = "clara13@270";
            strClave = "cla1020736056";
        }
        else if (Usuario.UsuId == 15)
        {
            strUsuario = "paul91@270";
            strClave = "paul91541069";
        }

        try
        {
            string strCadena = "<?xml version='1.0' encoding='ISO-8859-1' ?><root><acceso><username" + strUsuario + "/username><password" + strClave + "/password></acceso><solicitud><tipo>3</tipo><procesoid>3</procesoid></solicitud><variables>CONSECUTIVOREMESA, REMREMITENTE, DESCRIPCIONCORTAPRODUCTO</variables><documento><NUMNITEMPRESATRANSPORTE>8600390049</NUMNITEMPRESATRANSPORTE><estado>'AC'</estado><causaestado>'EJE'</causaestado></documento></root>";
            wsMintransporte.BPMServicesClient obj = new wsMintransporte.BPMServicesClient();
            string strSalida = obj.AtenderMensajeRNDC(strCadena);

            DataSet ds = new DataSet();
            StringReader reader = new StringReader(strSalida);


            ds.ReadXml(reader);
            if (ds != null)
            {
                ddlRemesaTerrestre.DataSource = ds.Tables[0];
                ddlRemesaTerrestre.TextField = "CONSECUTIVOREMESA";
                ddlRemesaTerrestre.ValueField = "CONSECUTIVOREMESA";
                ddlRemesaTerrestre.DataBind();
            }
        }

        catch (Exception ex)
        {

            msgBox1.alert(ex.Message.ToString());
        }
    }
    #endregion
    #region cargar datos remesa
    protected void cargardatosremesa_Click(object sender, EventArgs e)
    {
        string strUsuario = "";
        string strClave = "";
        
        if (Usuario.UsuId == 9)
        {
            strUsuario = "clara13@270";
            strClave = "cla1020736056";
        }
        else if (Usuario.UsuId == 15)
        {
            strUsuario = "paul91@270";
            strClave = "paul91541069";
        }

        try
        {
            string strCadena = "<?xml version='1.0' encoding='ISO-8859-1' ?><root><acceso><username" + strUsuario + "/username><password" + strClave + "/password></acceso><solicitud><tipo>3</tipo><procesoid>3</procesoid></solicitud><variables>REMREMITENTE, REM_ORIG, FECHACREA, DESCRIPCIONCORTAPRODUCTO, NUMMANIFIESTOCARGA</variables><documento><NUMNITEMPRESATRANSPORTE>8600390049</NUMNITEMPRESATRANSPORTE>";
            strCadena = strCadena + "<CONSECUTIVOREMESA>'" + ddlRemesaTerrestre.Value.ToString() + "'</CONSECUTIVOREMESA></documento></root>";
            
            wsMintransporte.BPMServicesClient obj = new wsMintransporte.BPMServicesClient();
            string strSalida = obj.AtenderMensajeRNDC(strCadena);

            DataSet ds = new DataSet();
            StringReader reader = new StringReader(strSalida);
            ds.ReadXml(reader);
               if (ds.Tables[0].Rows.Count > 0)
                {
                    txtRemitente.Text = ds.Tables[0].Rows[0]["REMREMITENTE"].ToString();

                }
               
                if (ds.Tables[0].Rows.Count > 0)
                {

                    txtOrigen.Text = ds.Tables[0].Rows[0]["REM_ORIG"].ToString();

                }

                if (ds.Tables[0].Rows.Count > 0)
                {

                    txtFechaRegistro.Text = ds.Tables[0].Rows[0]["FECHACREA"].ToString();

                }

                if (ds.Tables[0].Rows.Count > 0)
                {

                    txtDescripcionProducto.Text = ds.Tables[0].Rows[0]["DESCRIPCIONCORTAPRODUCTO"].ToString();

                }

                if (ds.Tables[0].Rows.Count > 0)
                {

                    txtConsecutivoManifiesto.Text = ds.Tables[0].Rows[0]["NUMMANIFIESTOCARGA"].ToString();

                }
            }
        catch (Exception ex)
        {

            msgBox1.alert(ex.Message.ToString());
        }
    }
    #endregion
    #region ocultar campos
    protected void ddlTipoReversaRemesa_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (ddlTipoReversaRemesa.Value.ToString() == "A")
        {
            ddlmunicipiotransbordo.Visible= ddldepartamentotransbordo.Visible = false;
            ASPxLabel15.Visible = ASPxLabel8.Visible = false;
            ASPxLabel10.Visible = ASPxLabel40.Visible = false;
            ddlMotivoTransbordo.Visible = false;
            ddlMotivoAnulacion.Visible = ASPxLabel5.Visible = true;
        }
        else
        {
            ddlmunicipiotransbordo.Visible = ddldepartamentotransbordo.Visible = true;
            ASPxLabel15.Visible = ASPxLabel8.Visible = true;
            ASPxLabel10.Visible = ASPxLabel40.Visible = true;
            ddlMotivoTransbordo.Visible = true;
            ddlMotivoAnulacion.Visible = ASPxLabel5.Visible = false;
        }

    }
    #endregion
    protected void btnanularotraremesa_Click(object sender, EventArgs e)
    {
        Response.Redirect("anularremesaministerio.aspx");
    }
}
